package resp

import "likeadmin/core"

// RechargeOrderResp 【请填写功能名称】返回信息
type RechargeOrderResp struct {
	ID            int32       `json:"id" structs:"id"`                         // id
	Sn            string      `json:"sn" structs:"sn"`                         // 订单编号
	UserID        int32       `json:"user_id" structs:"user_id"`               // 用户id
	UserSn        int32       `json:"user_sn" structs:"user_sn"`               // 用户编号-冗余字段
	Mobile        string      `json:"mobile" structs:"mobile"`                 // 用户手机号码-冗余字段
	PaySn         string      `json:"pay_sn" structs:"pay_sn"`                 // 支付编号-冗余字段，针对微信同一主体不同客户端支付需用不同订单号预留。
	PayWay        int32       `json:"pay_way" structs:"pay_way"`               // 支付方式 2-微信支付 3-支付宝支付
	PayStatus     int32       `json:"pay_status" structs:"pay_status"`         // 支付状态：0-待支付；1-已支付
	PayTime       core.TsTime `json:"pay_time" structs:"pay_time"`             // 支付时间
	OrderAmount   float64     `json:"order_amount" structs:"order_amount"`     // 充值金额
	OrderTerminal int32       `json:"order_terminal" structs:"order_terminal"` // 终端
	TransactionId string      `json:"transaction_id" structs:"transaction_id"` // 第三方平台交易流水号
	RefundStatus  int32       `json:"refund_status" structs:"refund_status"`   // 退款状态 0-未退款 1-已退款
	CreateTime    core.TsTime `json:"create_time" structs:"create_time"`       // 创建时间
	UpdateTime    core.TsTime `json:"update_time" structs:"update_time"`       // 更新时间
	User          struct {
		ID     int32  `json:"id" structs:"id"`
		Avatar string `json:"avatar" structs:"avatar"`
	} `json:"user" structs:"user"`
}

// UserAccountLogResp 用户余额变动日志返回信息
type UserAccountLogResp struct {
	ID             int32       `json:"id" structs:"id"`                       //
	Sn             int32       `json:"sn" structs:"sn"`                       // 流水号
	UserID         int32       `json:"user_id" structs:"user_id"`             // 用户id
	ChangeObject   int32       `json:"change_object" structs:"change_object"` // 变动对象
	ChangeType     int32       `json:"change_type" structs:"change_type"`     // 变动类型
	Action         int32       `json:"action" structs:"action"`               // 动作 1-增加 2-减少
	ChangeAmount   int32       `json:"change_amount" structs:"change_amount"` // 变动数量
	LeftAmount     int32       `json:"left_amount" structs:"left_amount"`     // 变动后数量
	ChangeTypeDesc string      `json:"change_type_desc" `                     // 变动类型描述
	SourceSn       string      `json:"source_sn" structs:"source_sn"`         // 关联单号
	Remark         string      `json:"remark" structs:"remark"`               // 备注
	Extra          string      `json:"extra" structs:"extra"`                 // 预留扩展字段
	CreateTime     core.TsTime `json:"create_time" structs:"create_time"`     // 创建时间
	UpdateTime     core.TsTime `json:"update_time" structs:"update_time"`     // 更新时间
	User           struct {
		ID       int32  `json:"id" structs:"id"`
		Sn       int64  `json:"sn,omitempty" structs:"sn"`
		Avatar   string `json:"avatar,omitempty" structs:"avatar"`
		Nickname string `json:"nickname,omitempty" structs:"nickname"`
		Mobile   string `json:"mobile,omitempty" structs:"mobile"`
	} `json:"user" structs:"user"`
}

// RefundRecordResp 退款记录返回信息
type RefundRecordResp struct {
	ID               int32       `json:"id" structs:"id"`                         // id
	Sn               string      `json:"sn" structs:"sn"`                         // 退款编号
	UserID           int32       `json:"user_id" structs:"user_id"`               // 关联用户
	OrderID          int32       `json:"order_id" structs:"order_id"`             // 来源订单id
	OrderSn          string      `json:"order_sn" structs:"order_sn"`             // 来源单号
	OrderType        string      `json:"order_type" structs:"order_type"`         // 订单来源 order-商品订单 recharge-充值订单
	OrderAmount      int32       `json:"order_amount" structs:"order_amount"`     // 订单总的应付款金额，冗余字段
	RefundAmount     int32       `json:"refund_amount" structs:"refund_amount"`   // 本次退款金额
	TransactionId    string      `json:"transaction_id" structs:"transaction_id"` // 第三方平台交易流水号
	RefundWay        int32       `json:"refund_way" structs:"refund_way"`         // 退款方式 1-线上退款 2-线下退款
	RefundType       int32       `json:"refund_type" structs:"refund_type"`       // 退款类型 1-后台退款
	RefundTypeText   string      `json:"refund_type_text"`                        // 退款类型 1-后台退款
	RefundStatus     int32       `json:"refund_status" structs:"refund_status"`   // 退款状态，0退款中，1退款成功，2退款失败
	RefundStatusText string      `json:"refund_status_text" `                     // 退款状态，0退款中，1退款成功，2退款失败
	CreateTime       core.TsTime `json:"create_time" structs:"create_time"`       // 创建时间
	UpdateTime       core.TsTime `json:"update_time" structs:"update_time"`       // 更新时间
	User             struct {
		ID       int32  `json:"id" structs:"id"`
		Sn       int64  `json:"sn,omitempty" structs:"sn"`
		Avatar   string `json:"avatar,omitempty" structs:"avatar"`
		Nickname string `json:"nickname,omitempty" structs:"nickname"`
		Mobile   string `json:"mobile,omitempty" structs:"mobile"`
	} `json:"user" structs:"user"`
}

type Stat struct {
	Total   float32 `json:"total" structs:"total"`
	Ing     float32 `json:"ing" structs:"ing"`
	Success float32 `json:"success" structs:"success"`
	Error   float32 `json:"error" structs:"error"`
}

// RefundLogResp 退款日志返回信息
type RefundLogResp struct {
	ID               int32       `json:"id" structs:"id"`                       // id
	Sn               string      `json:"sn" structs:"sn"`                       // 编号
	RecordID         int32       `json:"record_id" structs:"record_id"`         // 充值记录id
	UserID           int32       `json:"user_id" structs:"user_id"`             // 关联用户
	HandleID         int32       `json:"handle_id" structs:"handle_id"`         // 处理人id（管理员id）
	OrderAmount      int32       `json:"order_amount" structs:"order_amount"`   // 订单总的应付款金额，冗余字段
	RefundAmount     int32       `json:"refund_amount" structs:"refund_amount"` // 本次退款金额
	RefundStatus     int32       `json:"refund_status" structs:"refund_status"` // 退款状态，0退款中，1退款成功，2退款失败
	RefundStatusText string      `json:"refund_status_text"`                    // 退款状态，0退款中，1退款成功，2退款失败
	RefundMsg        string      `json:"refund_msg" structs:"refund_msg"`       // 退款信息
	CreateTime       core.TsTime `json:"create_time" structs:"create_time"`     // 创建时间
	UpdateTime       core.TsTime `json:"update_time" structs:"update_time"`     // 更新时间
	Admin            struct {
		ID       int32  `json:"id" structs:"id"`
		Nickname string `json:"nickname" structs:"nickname"`
	} `json:"admin" structs:"admin"`
}
